New: Added theme variables to compilation (fixes #3577) #3578
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
fixes #3577
New
Testing
Set
config.json:themeVariables._buttons.btn-color = "red"
.Menu button
build/adapt.css
config.json
Only the final
"name": "value"
pair of each nested section will be used as the Less and CSS property names and values:Null string
""
ornull
values will not be declared.CSS variables are prefixed by
adapt-
, like--adapt-font-color
. CSS variables are assigned to the:root { ... }
context.Less variables are not prefixed, like
@font-color
.Variables are declared at the end of the output Less, this is in order to give them precedence.
AAT v1 theme schema
It appears that there is a detached schema defining theme variables outside of grunt compilation
https://github.com/adaptlearning/adapt-contrib-vanilla/blob/master/schema/theme.schema.json
Todo
config.json:themeVariables
with named theme.schema.json https://github.com/adapt-security/adapt-authoring-coursetheme/blob/master/lib/CourseThemeModule.jsconfig.json
extensions tothemeVariables
take precedence over thetheme.schema.json
or vice-versa or do they get merged? (tom to test)config.json
extensions tothemeVariables
be output to AAT theme picker rather than the config screen, as well as or instead oftheme.schema.json
? (tom work to do)Font declarations and custom css should probably be brought into compilation also https://github.com/adapt-security/adapt-authoring-coursetheme/blob/22a285eec8ac00d7dd9d30ba7f3cd22949be158d/lib/CourseThemeModule.js#L67-L72